<?php
class Page extends CActiveRecord {

    public $simple;
    public $pageUrl;
    public $title;
    public $keywords;
    public $content;
    
    public static function model($className = __CLASS__) {
        return parent::model($className);
    }

    public function tableName() {
        return 'pages';
    }
    
    public function attributeLabels() {
        return array(
            'content' => 'Содержимое',
            'pageUrl' => 'URL адрес',
            'simple' => 'С баннерами, или без',
            'keywords' => 'Тег keywords',
            'title' => 'Тег title'
        );
    }
    
    public function rules() {
        return array(
            array('pageUrl', 'required', 'message'=>'{attribute} не должен быть пустым'),
            array('pageUrl', 'unique', 'message'=>'{attribute} уже занят'),
            array('pageUrl', 'length', 'max'=>'64', 'tooLong'=>'Максмальная длина поля УРЛ статической страницы 64'),
            array('simple', 'boolean'),
            array('content, keywords, title', 'safe')
        );
    }
    
    protected function afterSave() {
        CacheTaggedHelper::deleteByTags($this->tableName());
    }
    
    protected function afterDalete() {
        CacheTaggedHelper::deleteByTags($this->tableName());
    }
        
    public function beforeDelete() {
        if(!parent::beforeDelete()) return false;
        preg_match_all('#<img.+?src=\"(?:.+?\/)?([^\"\/]+)\".*?>#i', $this->content, $m);
        for($i = 0; $i<count($m[1]); $i++) {
            if(file_exists(Yii::getPathOfAlias('webroot').'/images/other/'.$m[1][$i])) 
                unlink(Yii::getPathOfAlias('webroot').'/images/other/'.$m[1][$i]);
        }
        
        return true;
    }
}
